<?php
include_once 'conn_mysql.php';

$is_wx = is_wechat_browser();
//判断是否是微信登录函数
function is_wechat_browser()
{
    $user_agent = $_SERVER['HTTP_USER_AGENT'];
    if (strpos($user_agent, 'MicroMessenger') === false) {
        return false;
    } else {
        return true;
    }
}

if($openid&&$_SESSION['user_id']&&$is_wx)
{
	   //获取数据库中access_token及过期时间
		$sql="select * from ecs_wechat_config where type='1' order by id desc limit 0,1";
		$query = mysql_query($sql);
		while($row = mysql_fetch_array($query)){
			$access_token=$row['ctoken'];
			$guoqi_time=$row['ctokentime'];
			$cf_id=$row['id'];
		}
		//判断获取access_token是否过期
		if(time()>$guoqi_time){
			//从新获取access_token，
			$url="https://api.weixin.qq.com/cgi-bin/token";
			$data['grant_type']="client_credential";
			$data['appid']=$APPID;;
			$data['secret']=$APPSECRET;
			//定义返回值接收变量；
			$httpstr =http($url, $data, 'GET');
			$de_json=json_decode($httpstr,true);
			$access_token=$de_json['access_token'];
			//保存$access_token
			$guoqi_time=time()+3600;
			$sql="UPDATE `ecs_wechat_config` SET `ctoken`='$access_token',`ctokentime`='$guoqi_time' WHERE  id='$cf_id' ";
			$query = mysql_query($sql);
		}
		else{
			$access_token=$access_token;//access_token不变
		}

		//通过access_token，获取jsapi_ticket
		$url="https://api.weixin.qq.com/cgi-bin/ticket/getticket";
		$data['type']="jsapi";
		$data['access_token']=$access_token;
		//定义返回值接收变量；
		$httpstr =http($url, $data, 'GET');
		$de_json=json_decode($httpstr,true);
		$jsapi_ticket=$de_json['ticket'];

		$timestamp =  "1414587457";//生成时间戳
		$noncestr  =  "Wm3WZYTPz0wzccnW";//自己定义的随机数，用于获取signature

		if(strlen($_SERVER['QUERY_STRING'])>0){
			$url_encodeURIComponent='http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
		}else{
			$url_encodeURIComponent='http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
		}
				
		//js Sha1签名算法,从服务器获取Sha1算法结果
		$url=$url_encodeURIComponent;
		$jsapi_ticket = "jsapi_ticket=".$jsapi_ticket."&noncestr=".$noncestr."&timestamp=".$timestamp."&url=".$url;
		$signature=sha1($jsapi_ticket);

		$html1="
		wx.config({
			debug: false,//false
			appId: 'wx9692a5d1ecfa16b4',
			timestamp:'$timestamp', //生成签名的时间戳
			nonceStr:'$noncestr',//S必须大写
			signature:'$signature',
			jsApiList:[
				'checkJsApi',
				'onMenuShareTimeline',
				'onMenuShareAppMessage',
				'onMenuShareTimeline'
			]
		});";
		echo $html1;

		//获取分享信息
		$id_difang=$_REQUEST['id_difang'];
		if(strlen($id_difang)==0){
			//首页分享配置
			$title="驴行天下近期活动";
			$desc ="驴行天下近期活动";
			$link =$url;
			$imgUrl ="http://haining.365jinbi.com/lvxingtianxia/Admin/picture/2016-04-151945754532.png";
		}else{
			//线路分享
			$sql="SELECT * FROM `lvyou_difang_info` WHERE id='$id_difang'";
			$query = mysql_query($sql);
			while($row = mysql_fetch_array($query)){
				$title=cut_biaoti($row['biaoti'],28);
				$desc ="【".cut_str($row['banqi1'])."】".cut_biaoti($row['biaoti'],40)." ¥".$row['ertong1']."起";
				$link =$url;
				$imgUrl="http://haining.365jinbi.com/lvxingtianxia/Admin/".$row['picture_lujing'];
			}
		}
		if($_SESSION['user_id'])
		{
			$where_link="&user_pid=".$_SESSION['user_id'];
		}
		$link=$link."&tuijian=1".$where_link;
		//查询用户是否已经分享过该地方
		$sql="select * from lvbi_huoqv where openid='$openid' and id_difang='$id_difang'";
		$query = mysql_query($sql);
		if(mysql_num_rows($query)<1 and strlen($id_difang)>0){
			//没有分享过，给与驴币
			$html2="
			//权限申请成功后调用的函数，类似朋友圈分享等接口操作
			wx.ready(function(){
				//alert('微信分享配置成功123');
				wx.onMenuShareAppMessage({
					title: '$title', // 分享标题
					desc: '$desc', // 分享描述
					link: '$link', // 分享链接
					imgUrl: '$imgUrl', // 分享图标
					type: '', // 分享类型,music、video或link，不填默认为link
					dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
					success: function () { 
						// 用户确认分享后执行的回调函数
						var url='getmessage_all.php?bigtype=20';
						$.ajax({
							type:'GET',
							url:url,
							dataType: 'json',
							success: function(data){	
								if(data['code']==0001){
									alert('恭喜你分享成功，获取1驴币的奖励！');
									location.reload([true]);
								}
							}
						}); 
					},
					cancel: function () { 
						// 用户取消分享后执行的回调函数
					}
				});
				wx.onMenuShareTimeline({
					title: '$desc', // 分享标题
					link: '$link', // 分享链接
					imgUrl: '$imgUrl', // 分享图标
					success: function () { 
						// 用户确认分享后执行的回调函数
						var url='getmessage_all.php?bigtype=20';
						$.ajax({
							type:'GET',
							url:url,
							dataType: 'json',
							success: function(data){	
								if(data['code']==0001){
									alert('恭喜你分享成功，获取1驴币的奖励！');
									location.reload([true]);
								}
							}
						}); 
					},
					cancel: function () { 
						// 用户取消分享后执行的回调函数
					}
				});
			//失败后回调的函数
				wx.error(function(){
					alert('微信分享配置失败');
				});
			});";
			
		}else{
			//分享过，弹出提示
			$html2="
			//权限申请成功后调用的函数，类似朋友圈分享等接口操作
			wx.ready(function(){
				//alert('微信分享配置成功123');
				wx.onMenuShareAppMessage({
					title: '$title', // 分享标题
					desc: '$desc', // 分享描述
					link: '$link', // 分享链接
					imgUrl: '$imgUrl', // 分享图标
					type: '', // 分享类型,music、video或link，不填默认为link
					dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
					success: function () { 
						// 用户确认分享后执行的回调函数
					},
					cancel: function () { 
						// 用户取消分享后执行的回调函数
					}
				});
				wx.onMenuShareTimeline({
					title: '$desc', // 分享标题
					link: '$link', // 分享链接
					imgUrl: '$imgUrl', // 分享图标
					success: function () { 
						// 用户确认分享后执行的回调函数
					},
					cancel: function () { 
						// 用户取消分享后执行的回调函数
					}
				});
			//失败后回调的函数
				wx.error(function(){
					alert('微信分享配置失败');
				});
			});";
		}
		echo $html2;
}



function http($url,  $params, $method = 'GET', $header = array(), $multi = false){
	//var_dump($params);
	//echo json_encode($params);
    $opts = array(
            CURLOPT_TIMEOUT        => 30,
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_SSL_VERIFYHOST => false,
            CURLOPT_HTTPHEADER     => $header
    );
    /* 根据请求类型设置特定参数 */
    switch(strtoupper($method)){
        case 'GET':
            $opts[CURLOPT_URL] = $url . '?' . http_build_query($params);
            break;
        case 'POST':
            //判断是否传输文件
            $params = $multi ? $params : http_build_query($params);
            $opts[CURLOPT_URL] = $url;
            $opts[CURLOPT_POST] = 1;
            $opts[CURLOPT_POSTFIELDS] = $params;
            break;
        default:
            throw new Exception('不支持的请求方式！');
    }
    /* 初始化并执行curl请求 */
    $ch = curl_init();
    curl_setopt_array($ch, $opts);
    $data  = curl_exec($ch);
    $error = curl_error($ch);
    curl_close($ch);
    if($error) throw new Exception('请求发生错误：' . $error);
    return  $data;
}
function cut_str($str){
	$arr=explode('/',$str);
	$yue=$arr[0];
	$ri = $arr[1];
	
	if(substr($yue,0,1)==0){
		$yue=substr($yue,1,1);
	}
	if(substr($ri,0,1)==0){
		$ri=substr($ri,1,1);
	}

	return $yue."月".$ri."日";
}


function cut_biaoti($string, $length) {
    preg_match_all("/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/", $string, $info);
    for($i=0; $i<count($info[0]); $i++) {
        $wordscut .= $info[0][$i];
        $j = ord($info[0][$i]) > 127 ? $j + 2 : $j + 1;
        if ($j > $length - 3) {
            return $wordscut;
        }
    }
    return join('', $info[0]);
}
?>
















